#include "dialogprogressimpl.h"
//
DialogProgressImpl::DialogProgressImpl( QWidget * parent, Qt::WFlags f) 
	: QDialog(parent, f)
{
	setupUi(this);
	QTimer::singleShot(100, this, SLOT(Procesar()));
}

void DialogProgressImpl::Procesar()
{
	implementacionInterprete *interpreter = new implementacionInterprete();
	this->label->setText("Convirtiendo documentos a txt...");
	this->repaint();
	for(int i = 0; i < documentos.size(); i++)
	{
		interpreter->convertirDocumentoPDF(documentos.at(i));
		int tmp = ((i + 1) *100)/documentos.size();
		this->progressBar->setValue(tmp);
	}
	this->label->setText("Quitando stop words, aplicando steming, etc...");
	this->progressBar->setValue(0);
	this->repaint();
	interpreter->interpretarNuevosDocumentos(this->progressBar, documentos.size());
	this->label->setText("Creando/Actualizando el indice invertido...");
	this->progressBar->setValue(0);
	this->repaint();
	DocumentsProcessor docProcessor(interpreter);
	docProcessor.processDocuments(this->progressBar, documentos.size());
	this->label->setText("Indice invertido creado/actualizado exitosamente...");
	delete(interpreter);
	interpreter = NULL;
	this->pushButton->setEnabled(true);
	this->repaint();
	return true;
}

void DialogProgressImpl::on_pushButton_clicked()
{
	this->close();
}
